ecb2b4b0473c019d1132c89887734792c75e0895,test/unit/org/apache/cassandra/concurrent/WaitQueueTest.java,WaitQueueTest,testSerial,#WaitQueue#,40

Before Change


                }
            }
        });
        for (int i = 0 ; i < ts.length ; i++)
            ts[i].start();
        Thread.sleep(100);
        queue.signal();
        queue.signal();
        queue.signal();
        queue.signal();
        for (int i = 0 ; i < ts.length ; i++)
        {
            ts[i].join(100);
            assertFalse(queue.getClass().getName(), ts[i].isAlive());
        }
    }

After Change


    }
    public void testSerial(final WaitQueue queue) throws InterruptedException
    {
        AtomicInteger ready = new AtomicInteger();
        Thread[] ts = new Thread[4];
        for (int i = 0 ; i < ts.length ; i++)
            ts[i] = new Thread(new Runnable()
        {
            @Override
            public void run()
            {
                WaitQueue.Signal wait = queue.register();
                ready.incrementAndGet();
                try
                {
                    wait.await();
                } catch (InterruptedException e)
                {
                    e.printStackTrace();
                }
            }
        });
        for (Thread t : ts)
            t.start();
        final ThreadLocalRandom random = ThreadLocalRandom.current();
        while (ready.get() < ts.length)
            random.nextLong();
        for (Thread t : ts)
            queue.signal();
        for (Thread t : ts)
        {
            Util.joinThread(t);
            assertFalse(queue.getClass().getName(), t.isAlive());
        }
    }